.calendar {
  overflow-x: hidden;

  .header {
    padding: 0 5px;
    font-size: 18px;
    font-weight: 500;
    color: #2b4450;
    line-height: 44px;
    margin: 0 calc((14.285% - 40px) / 2 + 6px);
  }

  .calendar-item {
    display: block;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
  }

  .selected {
    .calendar-item {
      background: #2b4450;
      border-radius: 50%;
      color: #fff;
    }
  }

  .week-area {
    width: 100%;
    display: flex;

    .week-item {
      height: 45px;
      flex: 0 0 14.285%;
      display: flex;
      align-items: center;
      justify-content: center;

      .week-font {
        font-size: 15px;
        color: #2b4450;
        font-weight: 500;
      }
    }
  }

  .data-container {
    overflow: hidden;
    position: relative;

    .banner-area {
      width: 300%;
      display: flex;

      .data-area {
        width: 100%;
        height: 100%;
        display: flex;
        flex-flow: row wrap;

        .data-item {
          flex: 0 0 14.285%;
          display: flex;
          align-items: center;
          justify-content: center;

          .data-font {
            color: #2b4450;
            font-size: 18px;
            font-weight: 400;
          }
        }

        .other-item {
          .data-font {
            color: #ccc;
          }
        }
      }
    }

    .touch-area {
      width: 100%;
      box-sizing: border-box;
      background-color: #fff;
      position: absolute;
      left: 0;
      bottom: 0;

      .touch-container {
        width: 100%;
        box-sizing: border-box;
        border-top: 0.5px solid #eee;
        display: flex;
        align-items: center;
        justify-content: center;

        .touch-item {
          width: 40px;
          height: 5px;
          background: #2b4450;
          border-radius: 100px;
          opacity: 0.6;
        }
      }
    }
  }
}
